package com.finance.cooperate.feature.feature;


import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * @InterfaceName ModelFeatureSet
 * @Description 模型输出特征
 * @Author shen
 * @Date 2022/6/20 22:19
 * @Modify ...
 */
public interface ModelFeatureSet {

    String firstLoanModelVersion="V6";

    Set<String> observedFeatureResult = Stream.of(


            // ************************** 首贷 ********************************
            // APP 特征
            "f_model_sub_sms_words_230812"


    ).collect(Collectors.toSet());


    Set<String> firstLoanModelResult = Stream.of(


            // V1
            "f_crc_consultas_2w_grant_10_currency_mx_amount_avg",
            "f_app_loan_top_30_count",
            "f_app_first_app_install_days",
            "f_sms_fasttext_01_score",
            "f_sms_basic_v1_phone_num_count_3m",
            "f_sms_basic_v1_phone_num_count_1m",
            "f_app_nearly_1_months_app_count",
            "f_app_loan_top_10_count",
            "f_app_nearly_3_months_app_percentage",
            "f_sms_basic_v1_square_count_3m",
            "f_sms_basic_v1_square_count_1m",
            "f_crc_consultas_hist_grant_3_currency_mx_amount_sum",
            "f_app_loan_top_10_distance_submit_time_days_max",
            "f_sms_basic_v1_phone_num_count_2m",
            "f_crc_consultas_hist_currency_mx_amount_avg",
            "f_app_loan_top_10_distance_submit_time_days_avg",
            "f_sms_basic_v1_same_opposite_3w_12",
            "f_sms_basic_v1_same_opposite_2m_6",
            "f_scrapy_apps_social_count",
            "f_crc_consultas_hist_grant_10_currency_mx_amount_avg",
            "f_sms_basic_v1_square_count_2w",
            "f_crc_consultas_6m_grant_3_currency_mx_amount_sum",
            "f_scrapy_apps_finance_count",
            "f_crc_consultas_6m_grant_10_currency_mx_amount_avg",
            "f_sms_basic_v1_phone_num_count_3w",
            "f_sms_blistm_01_score",
            "f_crc_score",
            "f_app_loan_top_60_distance_submit_time_days_avg",
            "f_sms_basic_v1_same_opposite_1m_2",
            "f_crc_consultas_2w_currency_mx_amount_max",
            "f_sms_basic_v1_phone_num_count_2w",
            "f_model_sub_time_230814",
            "f_sms_basic_v1_same_opposite_3m_2",
            "f_app_nearly_2_months_app_count",
            "f_crc_consultas_1m_grant_3_currency_mx_count",
            "f_model_sub_device_230815",
            "f_crc_consultas_2w_credit_q_currency_mx_amount_avg",
            "f_sms_basic_v1_square_count_3w",
            "f_sms_basic_v1_same_opposite_3m_20",
            "f_sms_basic_v1_receive_count_1m",
            "f_app_loan_top_60_distance_submit_time_days_max",
            "f_sms_basic_v1_receive_count_3w",
            "f_identity_birthday_age",
            "f_sms_basic_v1_receive_count_1w",
            "f_app_nearly_3_months_app_count",
            "f_model_sub_scrapy_230816",
            "f_crc_consultas_hist_credit_q_currency_mx_amount_sum",
            "f_app_nearly_1_months_app_percentage",
            "f_model_sub_sms_words_230812",
            "f_device_can_use_storage_size",
            "f_model_sub_install_230814",
            "f_sms_basic_v1_phone_rate_3w",


            // V2
            "f_model_v2_230914",
            "f_scrapy_apps_finance_count",
            "f_app_loan_top_60_distance_submit_time_days_avg",
            "f_model_sub_device_230815",
            "f_identity_birthday_age",
            "f_model_sub_scrapy_230816",
            "f_personal_residential_type",
            "f_personal_highest_school_record",
            "f_personal_residential_detail_address_len",
            "f_personal_marital_status",
            "f_identity_loan_use",
            "f_sms_loan_v1_loan_3m",
            "f_sms_loan_v1_loan_1w",
            "f_sms_basic_v1_website_count_2w",



            // V3
            "f_model_v2_230914",
            "f_scrapy_apps_finance_count",
            "f_app_loan_top_60_distance_submit_time_days_avg",
            "f_model_sub_device_230815",
            "f_identity_birthday_age",
            "f_model_sub_scrapy_230816",
            "f_personal_residential_type",
            "f_personal_highest_school_record",
            "f_personal_residential_detail_address_len",
            "f_personal_marital_status",
            "f_sms_loan_v1_loan_3m",
            "f_sms_loan_v1_loan_1w",
            "f_sms_basic_v1_website_count_2w",
            "f_app_competition_level_1_count_v2",
            "f_app_competition_level_3_to_5_count_v2",
            "f_model_sub_sms_words_230812",
            "f_model_sub_install_230814",


            // V4
            "f_app_competition_level_1_count_v2",
            "f_app_competition_level_3_to_5_count_v2",
            "f_app_loan_top_60_distance_submit_time_days_avg",
            "f_identity_birthday_age",
            "f_model_sub_device_230815",
            "f_model_sub_install_230814",
            "f_model_sub_scrapy_230816",
            "f_model_sub_sms_words_230812",
            "f_model_v2_230914",
            "f_personal_highest_school_record",
            "f_personal_marital_status",
            "f_personal_residential_detail_address_len",
            "f_personal_residential_type",
            "f_scrapy_apps_finance_count",
            "f_sms_loan_v1_loan_1w",
            "f_sms_loan_v1_loan_3m",
            "f_app_loan_top_30_distance_submit_time_days_avg",
            "f_sms_basic_v1_phone_num_count_3w",
            
            
            // V5
            "f_sms_basic_v1_same_opposite_3d_2",
            "f_sms_basic_v1_phone_num_count_3d",
            "f_sms_basic_v1_receive_count_3w",
            "f_sms_basic_v1_receive_days_count_2w",
            "f_sms_loan_v1_dias_count_1w",
            "f_sms_cnn_01_score",
            "f_sms_loan_v1_loan_1d",
            "f_sms_basic_v1_website_count_1w",
            "f_sms_loan_v1_dias_distinct_count_2m",
            "f_sms_fasttext_01_score",
            "f_model_v2_230914",
            "f_app_competition_level_v2",
            "f_app_competition_level_1_count_v2",
            "f_sms_basic_v1_phone_num_count_3w",
            "f_sms_loan_v1_loan_3m",
            "f_sms_loan_v1_income_3m",
            "f_sms_basic_v1_phone_num_count_1w",
            "f_sms_basic_v1_square_count_2m",
            "f_app_competition_level_3_to_5_count_v2",
            "f_personal_highest_school_record",
            "f_sms_loan_v1_dias_count_2w",
            "f_model_sub_device_230815",
            "f_scrapy_apps_finance_top_100",
            "f_sms_loan_v1_loan_1w",
            "f_scrapy_cnn_01_score",
            "f_sms_basic_v1_square_count_3w",
            "f_sms_loan_v1_income_1w",
            "f_sms_basic_v1_phone_num_count_2m",
            "f_sms_loan_v1_dias_avg_3d",
            "f_sms_loan_v1_loan_amount_max_1w",
            "f_personal_residential_detail_address_len",
            "f_model_sub_time_230814",
            "f_model_sub_install_230814",
            "f_identity_birthday_age",
            "f_sms_loan_v1_overdue_amount_avg_3w",
            "f_sms_basic_v1_website_count_1d",
            "f_sms_basic_v1_square_count_3m",
            "f_sms_loan_v1_dias_distinct_count_3d",
            "f_sms_basic_v1_receive_days_count_1w",
            "f_model_sub_scrapy_230816",
            "f_app_loan_top_60_distance_submit_time_days_avg",
            "f_model_sub_sms_words_230812",


            // V6
            "f_sms_basic_v1_same_opposite_3d_2",
            "f_sms_basic_v1_phone_num_count_3d",
            "f_sms_basic_v1_receive_count_3w",
            "f_sms_basic_v1_receive_days_count_2w",
            "f_sms_loan_v1_dias_count_1w",
            "f_sms_loan_v1_loan_1d",
            "f_sms_basic_v1_website_count_1w",
            "f_sms_loan_v1_dias_distinct_count_2m",
            "f_sms_basic_v1_receive_count_1w",
            "f_sms_fasttext_01_score",
            "f_model_v2_230914",
            "f_app_competition_level_v2",
            "f_sms_basic_v1_phone_num_count_3w",
            "f_sms_loan_v1_loan_3m",
            "f_sms_loan_v1_income_3m",
            "f_sms_basic_v1_square_count_2m",
            "f_personal_residential_type",
            "f_app_competition_level_3_to_5_count_v2",
            "f_personal_highest_school_record",
            "f_sms_loan_v1_dias_count_2w",
            "f_model_sub_device_230815",
            "f_scrapy_apps_finance_top_100",
            "f_scrapy_cnn_01_score",
            "f_sms_basic_v1_square_count_3w",
            "f_sms_loan_v1_income_1w",
            "f_sms_loan_v1_dias_avg_3d",
            "f_sms_loan_v1_loan_amount_max_1w",
            "f_personal_residential_detail_address_len",
            "f_model_sub_time_230814",
            "f_model_sub_install_230814",
            "f_identity_birthday_age",
            "f_sms_loan_v1_overdue_amount_avg_3w",
            "f_sms_loan_v1_dias_distinct_count_3d",
            "f_sms_basic_v1_receive_days_count_1w",
            "f_model_sub_scrapy_230816",
            "f_app_loan_top_60_distance_submit_time_days_avg",
            "f_model_sub_sms_words_230812"


    ).collect(Collectors.toSet());


    Set<String> secondLoanModelResult = Stream.of(
            // B2_1
            "f_public_loan_num",
            "f_crc_consultas_hist_grant_3_credit_f_currency_mx_count",
            "f_crc_consultas_1m_currency_mx_amount_max",
            "f_borrowing_avg_loan_and_risk_interval_hours",
            "f_crc_consultas_hist_credit_type_size",
            "f_crc_consultas_3m_currency_mx_amount_sum",
            "f_crc_consultas_1m_grant_9_currency_mx_amount_sum",
            "f_sms_basic_v1_phone_num_count_2m",
            "f_crc_consultas_3m_grant_3_credit_m_currency_mx_count",
            "f_identity_loan_use",
            "f_scrapy_apps_finance_top_50",
            "f_crc_consultas_2w_grant_13_credit_f_currency_mx_amount_avg",
            "f_crc_consultas_1w_grant_13_credit_m_currency_mx_amount_avg",
            "f_sms_basic_v1_receive_count_1m",
            "f_model_sub_sms_words_230812",
            "f_crc_consultas_1m_grant_3_credit_m_currency_mx_amount_avg",
            "f_crc_consultas_1m_grant_3_credit_m_currency_mx_amount_max",
            "f_sms_blistm_01_score",
            "f_crc_consultas_3m_credit_m_currency_mx_amount_min",
            "f_model_sub_scrapy_230816",
            "f_identity_birthday_age",
            "f_model_sub_install_230814",
            "f_crc_consultas_1m_grant_10_credit_m_currency_mx_count",
            "f_device_resolution_total",
            "f_app_loan_top_60_count",
            "f_sms_basic_v1_receive_count_2w",
            "f_crc_consultas_hist_grant_13_credit_q_currency_mx_amount_min",
            "f_personal_highest_school_record",
            "f_borrowing_last_loan_and_risk_interval_hours",
            "f_crc_consultas_hist_grant_12_credit_f_currency_mx_amount_avg",
            "f_scrapy_apps_finance_count",
            "f_crc_consultas_1w_credit_m_currency_mx_count",
            "f_crc_consultas_hist_grant_3_currency_mx_amount_max",
            "f_crc_consultas_hist_grant_13_credit_q_currency_mx_amount_max",
            "f_crc_consultas_2w_grant_size",
            "f_crc_consultas_3m_grant_10_credit_f_currency_mx_amount_avg",
            "f_sms_basic_v1_phone_rate_3w",
            "f_crc_consultas_2w_grant_3_credit_m_currency_mx_amount_max",
            "f_sms_basic_v1_phone_rate_3m",
            "f_crc_consultas_1m_credit_m_currency_mx_amount_avg",
            "f_crc_consultas_2w_grant_9_currency_mx_amount_sum",
            "f_sms_basic_v1_phone_num_count_1m",
            "f_crc_consultas_1w_grant_3_currency_mx_amount_sum",
            "f_sms_basic_v1_same_opposite_3w_2",
            "f_crc_consultas_3m_credit_q_currency_mx_amount_max",
            "f_sms_basic_v1_same_opposite_2w_12",
            "f_app_retentive_time_us_zoom_videomeetings",
            "f_crc_consultas_1m_grant_13_currency_mx_amount_max"

    ).collect(Collectors.toSet());


    Set<String> thirdLoanModelResult = Stream.of(
            // B2_1
            "f_public_loan_num",
            "f_crc_consultas_hist_grant_3_credit_f_currency_mx_count",
            "f_crc_consultas_1m_currency_mx_amount_max",
            "f_borrowing_avg_loan_and_risk_interval_hours",
            "f_crc_consultas_hist_credit_type_size",
            "f_crc_consultas_3m_currency_mx_amount_sum",
            "f_crc_consultas_1m_grant_9_currency_mx_amount_sum",
            "f_sms_basic_v1_phone_num_count_2m",
            "f_crc_consultas_3m_grant_3_credit_m_currency_mx_count",
            "f_identity_loan_use",
            "f_scrapy_apps_finance_top_50",
            "f_crc_consultas_2w_grant_13_credit_f_currency_mx_amount_avg",
            "f_crc_consultas_1w_grant_13_credit_m_currency_mx_amount_avg",
            "f_sms_basic_v1_receive_count_1m",
            "f_model_sub_sms_words_230812",
            "f_crc_consultas_1m_grant_3_credit_m_currency_mx_amount_avg",
            "f_crc_consultas_1m_grant_3_credit_m_currency_mx_amount_max",
            "f_sms_blistm_01_score",
            "f_crc_consultas_3m_credit_m_currency_mx_amount_min",
            "f_model_sub_scrapy_230816",
            "f_identity_birthday_age",
            "f_model_sub_install_230814",
            "f_crc_consultas_1m_grant_10_credit_m_currency_mx_count",
            "f_device_resolution_total",
            "f_app_loan_top_60_count",
            "f_sms_basic_v1_receive_count_2w",
            "f_crc_consultas_hist_grant_13_credit_q_currency_mx_amount_min",
            "f_personal_highest_school_record",
            "f_borrowing_last_loan_and_risk_interval_hours",
            "f_crc_consultas_hist_grant_12_credit_f_currency_mx_amount_avg",
            "f_scrapy_apps_finance_count",
            "f_crc_consultas_1w_credit_m_currency_mx_count",
            "f_crc_consultas_hist_grant_3_currency_mx_amount_max",
            "f_crc_consultas_hist_grant_13_credit_q_currency_mx_amount_max",
            "f_crc_consultas_2w_grant_size",
            "f_crc_consultas_3m_grant_10_credit_f_currency_mx_amount_avg",
            "f_sms_basic_v1_phone_rate_3w",
            "f_crc_consultas_2w_grant_3_credit_m_currency_mx_amount_max",
            "f_sms_basic_v1_phone_rate_3m",
            "f_crc_consultas_1m_credit_m_currency_mx_amount_avg",
            "f_crc_consultas_2w_grant_9_currency_mx_amount_sum",
            "f_sms_basic_v1_phone_num_count_1m",
            "f_crc_consultas_1w_grant_3_currency_mx_amount_sum",
            "f_sms_basic_v1_same_opposite_3w_2",
            "f_crc_consultas_3m_credit_q_currency_mx_amount_max",
            "f_sms_basic_v1_same_opposite_2w_12",
            "f_app_retentive_time_us_zoom_videomeetings",
            "f_crc_consultas_1m_grant_13_currency_mx_amount_max"
    ).collect(Collectors.toSet());

}
